﻿/**********************************************************************
 * @file   GUIDeleteDialog.h
 * @brief  删除对话框
 * @author BaGuijun (baguijun@163.com)
 * @date   2024-12-25
 *********************************************************************/
#ifndef GUIDeleteDialog_H
#define GUIDeleteDialog_H

#include "GUIToolDialogAPI.h"
#include "GUIPickWidget.h"
#include "GUIWidget/GUIDialogBase.h"

namespace Ui {
    class GUIDeleteDialog;
}

namespace GUI
{
    /**
     * @brief  删除对话框
     * @author BaGuijun (baguijun@163.com)
     * @date   2024-12-25
     */
    class GUIToolDialogAPI GUIDeleteDialog : public GUIDialogBase
    {
        Q_OBJECT;
    public:
        /**
         * @brief    构造函数
         * @author   BaGuijun (baguijun@163.com)
         * @date     2024-12-25
         */
        GUIDeleteDialog();
        /**
         * @brief    析构函数
         * @return   void
         * @author   BaGuijun (baguijun@163.com)
         * @date     2024-12-25
         */
        virtual ~GUIDeleteDialog();
    private slots:
        ;
        /**
         * @brief    删除按钮点击事件
         * @author   BaGuijun (baguijun@163.com)
         * @date     2024-12-24
         */
        void on_pushButton_Delete_clicked();
        /**
         * @brief    关闭按钮点击事件
         * @author   BaGuijun (baguijun@163.com)
         * @date     2024-12-24
         */
        void on_pushButton_Close_clicked();
    private:
        /**
         * @brief    删除事件
         * @param[i] type       类型
         * @param[i] idList     数据id
         * @author   BaGuijun (baguijun@163.com)
         * @date     2024-12-24
         */
        void deleteEvent(GUIDialogPickType type, QList<int> idList = QList<int>());
    private:
        /**
         * @brief  ui对象
         * @author BaGuijun (baguijun@163.com)
         * @date   2024-12-25
         */
        Ui::GUIDeleteDialog* _ui = nullptr;
        /**
         * @brief  拾取界面
         * @author BaGuijun (baguijun@163.com)
         * @date   2024-12-25
         */
        GUIPickWidget* _pickWidget = nullptr;
    };
}
#endif
